home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 8: LINUX Games / Linux Cubed Series 8 - LINUX Games.iso / games / x11 / networke / xfirepow.000 / xfirepow / xfirepower-0.84 / client / outfit.c < prev    next >
C/C++ Source or Header  |  1995-05-29  |  3KB  |  102 lines

  1. #include <stdio.h>
  2. #include <math.h>
  3. #include "Wlib.h"
  4. #include "struct.h"
  5. #include "defs.h"
  6. #include "data.h"
  7. #include "proto.h"
  8.  
  9. void choose_team(int team)
  10. {
  11.     teamOk = -1;
  12.  
  13.     sendTeam(team);
  14.     while(teamOk < 0)
  15.     doServer();
  16.     if(teamOk) {
  17.     W_DestroyWindow(teamwin[0]);
  18.     W_DestroyWindow(teamwin[1]);
  19.     W_DestroyWindow(quitwin);
  20.     W_DestroyWindow(motdwin);
  21.     teamwin[0] = teamwin[1] = motdwin = quitwin = 0;
  22.     }    
  23. }
  24.  
  25. void redraw_teamwins()
  26. {
  27.     char *teamname[2] = {
  28.     "Blues Brothers",
  29.     "Red Dawn"
  30.     };
  31.  
  32.     W_FillArea(teamwin[0], 0, 0, 100, 100, W_Blue);
  33.     W_FillArea(teamwin[1], 0, 0, 100, 100, W_Red);
  34.     W_MaskText(teamwin[0], 50-(strlen(teamname[0])*W_Textwidth)/2, 0, W_White, 
  35.         teamname[0], strlen(teamname[0]), W_RegularFont);
  36.     W_MaskText(teamwin[1], 50-(strlen(teamname[1])*W_Textwidth)/2, 0, W_White, 
  37.         teamname[1], strlen(teamname[1]), W_RegularFont);
  38.  
  39.     W_ClearWindow(quitwin);
  40.     W_WriteText(quitwin, 50-(4 * W_Textwidth)/2, 45, W_White, "QUIT", 4, W_RegularFont);
  41. }
  42.  
  43. void do_outfit()
  44. {
  45.     W_Event ev;
  46.  
  47.     if(!teamwin[0]) {
  48.     teamwin[0] = W_MakeWindow("blue_team", 0, 0, 100, 100, baseWin, 0, 1, W_White);
  49.     teamwin[1] = W_MakeWindow("red_team", 200, 0, 100, 100, baseWin, 0, 1, W_White);
  50.     quitwin = W_MakeWindow("quit", 100, 0, 100, 100, baseWin, 0, 1, W_White);
  51.     W_Buffer(teamwin[0], 0);
  52.     W_Buffer(teamwin[1], 0);
  53.     W_Buffer(quitwin, 0);
  54.     W_MapWindow(teamwin[0]);
  55.     W_MapWindow(teamwin[1]);
  56.     W_MapWindow(quitwin);
  57.     if(motdwin)
  58.         W_DestroyWindow(motdwin);
  59.     motdwin = W_MakeTextWindow("Motd", 0, 100, 80, LINESPERPAGE, baseWin, 0, 1);
  60.     W_Buffer(motdwin, 0);
  61.     W_MapWindow(motdwin);
  62.     }
  63.  
  64.     while(W_EventsPending()) {
  65.     W_NextEvent(&ev);
  66.     switch(ev.type) {
  67.       case W_EV_KEY:
  68.         if(ev.Window == typewin || 
  69.            ev.Window == messwin[0] ||
  70.            ev.Window == messwin[1] ||
  71.            ev.Window == messwin[2] ||
  72.            ev.Window == messwin[3]) {
  73.         message_event(&ev);
  74.         } else if(ev.Window == motdwin) {
  75.         motd_key(ev.key);
  76.         }
  77.         break;
  78.       case W_EV_EXPOSE:
  79.         if(ev.Window == mapwin)
  80.         redraw_map();
  81.         else if(ev.Window == typewin)
  82.         redraw_message_win();
  83.         else if(ev.Window == playerwin)
  84.         redraw_player_win();
  85.         else if(ev.Window == motdwin)
  86.         display_motd();
  87.         else if(ev.Window == teamwin[0] || ev.Window == teamwin[1] || ev.Window == quitwin)
  88.         redraw_teamwins();
  89.         break;
  90.       case W_EV_BUTTON:
  91.         if(ev.Window == teamwin[0]) {
  92.         choose_team(0);
  93.         } else if(ev.Window == teamwin[1]) {
  94.         choose_team(1);
  95.         } else if(ev.Window == quitwin) {
  96.         quit = 1;
  97.         }
  98.         break;
  99.     }
  100.     }
  101. }
  102.